Various forms of storage systems are used today. These forms include direct attached storage (DAS) network attached storage (NAS) systems, storage area networks (SANs), and others. Network storage systems are commonly used for a variety of purposes, such as providing multiple clients with access to shared data, backing up data and others.
A storage system typically includes at least a computing system executing a storage operating system for storing and retrieving data on behalf of one or more client computing systems (may just be referred to as “client” or “clients”). The storage operating system stores and manages shared data containers in a set of mass storage devices.
Quality of Service (QOS) is used in a storage environment to provide certain throughput in processing input/output (I/O) requests, as well as a response time (i.e. latency) within, which I/O requests are processed. QOS may also include processing certain number of I/O requests per second (IOPS), which is associated with throughput. Throughput means an average rate at which data is transferred for I/O requests. Different QOS levels may be provided to different clients depending on client service levels.
To process an I/O request to read and/or write data, various resources are typically used within a storage system, for example, network resources, processors, storage devices and others. The different resources perform various functions for reading and writing information. The use of resources impact QOS for clients. For example, if a client 1 overuses a certain resource then it may delay I/O processing for a client 2, which may lower the QOS for client 2.
As storage systems continue to expand in size and operating speeds, it is desirable to efficiently monitor resource usage within the storage system and analyze QOS data so that any incidents based on abnormal QOS data can be identified and handled appropriately. The storage operating system typically maintains QOS data regarding various storage volumes that use the resources of the storage system. Continuous efforts are being made to efficiently collect and pre-process QOS data so that the data can be efficiently analyzed for identifying abnormal incidents that may impact overall I/O processing in compliance with QOS policies.